/*
 *   Copyright (c) 2010-2022, SIUFUNG
 */
package net.siufung.market.base.permit.controller.assembler;

import com.google.common.collect.Lists;
import net.siufung.core.utils.CopyUtil;
import net.siufung.market.base.permit.controller.model.vo.MenuVo;
import net.siufung.market.base.permit.mapper.entity.Menu;
import org.springframework.util.CollectionUtils;

import java.util.List;
import java.util.Objects;

/**
 *
 * 系统菜单表 持久层展示层组装器
 *
 * @author 陈建峰
 * @since 2022-07-05 22:19:50
 */
public class MenuAssembler {

    /**
     * Menu 转换成 MenuVo
     * @param menu 数据库实体
     * @return MenuVo 视图
     */
    public static MenuVo from(Menu menu){
        if(!Objects.isNull(menu)){
            MenuVo menuVo = new MenuVo();
            CopyUtil.copyProperties(menu, menuVo);
            return menuVo;
        }
        return null;
    }

    /**
     * MenuList 转换成 MenuVoList
     * @param menuList 数据库实体集合
     * @return List<MenuVo> 视图集合
     */
    public static List<MenuVo> fromList(List<Menu> menuList){
        List<MenuVo> menuVoList = Lists.newArrayList();
        if(!CollectionUtils.isEmpty(menuList)){
            MenuVo menuVo;
            for (Menu menu: menuList) {
                menuVo = new MenuVo();
                CopyUtil.copyProperties(menu, menuVo);
                menuVoList.add(menuVo);
            }
        }
        return menuVoList;
    }

}

